package com.workManager.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class TbProjectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TbProjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("PROJECT_ID is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("PROJECT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(Integer value) {
            addCriterion("PROJECT_ID =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(Integer value) {
            addCriterion("PROJECT_ID <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(Integer value) {
            addCriterion("PROJECT_ID >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_ID >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(Integer value) {
            addCriterion("PROJECT_ID <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_ID <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<Integer> values) {
            addCriterion("PROJECT_ID in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<Integer> values) {
            addCriterion("PROJECT_ID not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_ID between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_ID not between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectCodeIsNull() {
            addCriterion("PROJECT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andProjectCodeIsNotNull() {
            addCriterion("PROJECT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andProjectCodeEqualTo(String value) {
            addCriterion("PROJECT_CODE =", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeNotEqualTo(String value) {
            addCriterion("PROJECT_CODE <>", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeGreaterThan(String value) {
            addCriterion("PROJECT_CODE >", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeGreaterThanOrEqualTo(String value) {
            addCriterion("PROJECT_CODE >=", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeLessThan(String value) {
            addCriterion("PROJECT_CODE <", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeLessThanOrEqualTo(String value) {
            addCriterion("PROJECT_CODE <=", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeLike(String value) {
            addCriterion("PROJECT_CODE like", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeNotLike(String value) {
            addCriterion("PROJECT_CODE not like", value, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeIn(List<String> values) {
            addCriterion("PROJECT_CODE in", values, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeNotIn(List<String> values) {
            addCriterion("PROJECT_CODE not in", values, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeBetween(String value1, String value2) {
            addCriterion("PROJECT_CODE between", value1, value2, "projectCode");
            return (Criteria) this;
        }

        public Criteria andProjectCodeNotBetween(String value1, String value2) {
            addCriterion("PROJECT_CODE not between", value1, value2, "projectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeIsNull() {
            addCriterion("OLD_PROJECT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeIsNotNull() {
            addCriterion("OLD_PROJECT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeEqualTo(String value) {
            addCriterion("OLD_PROJECT_CODE =", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeNotEqualTo(String value) {
            addCriterion("OLD_PROJECT_CODE <>", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeGreaterThan(String value) {
            addCriterion("OLD_PROJECT_CODE >", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeGreaterThanOrEqualTo(String value) {
            addCriterion("OLD_PROJECT_CODE >=", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeLessThan(String value) {
            addCriterion("OLD_PROJECT_CODE <", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeLessThanOrEqualTo(String value) {
            addCriterion("OLD_PROJECT_CODE <=", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeLike(String value) {
            addCriterion("OLD_PROJECT_CODE like", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeNotLike(String value) {
            addCriterion("OLD_PROJECT_CODE not like", value, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeIn(List<String> values) {
            addCriterion("OLD_PROJECT_CODE in", values, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeNotIn(List<String> values) {
            addCriterion("OLD_PROJECT_CODE not in", values, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeBetween(String value1, String value2) {
            addCriterion("OLD_PROJECT_CODE between", value1, value2, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andOldProjectCodeNotBetween(String value1, String value2) {
            addCriterion("OLD_PROJECT_CODE not between", value1, value2, "oldProjectCode");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNull() {
            addCriterion("PROJECT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNotNull() {
            addCriterion("PROJECT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualTo(String value) {
            addCriterion("PROJECT_NAME =", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualTo(String value) {
            addCriterion("PROJECT_NAME <>", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThan(String value) {
            addCriterion("PROJECT_NAME >", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("PROJECT_NAME >=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThan(String value) {
            addCriterion("PROJECT_NAME <", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualTo(String value) {
            addCriterion("PROJECT_NAME <=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLike(String value) {
            addCriterion("PROJECT_NAME like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotLike(String value) {
            addCriterion("PROJECT_NAME not like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameIn(List<String> values) {
            addCriterion("PROJECT_NAME in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotIn(List<String> values) {
            addCriterion("PROJECT_NAME not in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameBetween(String value1, String value2) {
            addCriterion("PROJECT_NAME between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotBetween(String value1, String value2) {
            addCriterion("PROJECT_NAME not between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andEstablishDateIsNull() {
            addCriterion("ESTABLISH_DATE is null");
            return (Criteria) this;
        }

        public Criteria andEstablishDateIsNotNull() {
            addCriterion("ESTABLISH_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andEstablishDateEqualTo(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE =", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE <>", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateGreaterThan(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE >", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE >=", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateLessThan(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE <", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ESTABLISH_DATE <=", value, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateIn(List<Date> values) {
            addCriterionForJDBCDate("ESTABLISH_DATE in", values, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ESTABLISH_DATE not in", values, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ESTABLISH_DATE between", value1, value2, "establishDate");
            return (Criteria) this;
        }

        public Criteria andEstablishDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ESTABLISH_DATE not between", value1, value2, "establishDate");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNull() {
            addCriterion("PROJECT_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNotNull() {
            addCriterion("PROJECT_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeEqualTo(Integer value) {
            addCriterion("PROJECT_TYPE =", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotEqualTo(Integer value) {
            addCriterion("PROJECT_TYPE <>", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThan(Integer value) {
            addCriterion("PROJECT_TYPE >", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_TYPE >=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThan(Integer value) {
            addCriterion("PROJECT_TYPE <", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_TYPE <=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIn(List<Integer> values) {
            addCriterion("PROJECT_TYPE in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotIn(List<Integer> values) {
            addCriterion("PROJECT_TYPE not in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_TYPE between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_TYPE not between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectManagerIsNull() {
            addCriterion("PROJECT_MANAGER is null");
            return (Criteria) this;
        }

        public Criteria andProjectManagerIsNotNull() {
            addCriterion("PROJECT_MANAGER is not null");
            return (Criteria) this;
        }

        public Criteria andProjectManagerEqualTo(Integer value) {
            addCriterion("PROJECT_MANAGER =", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerNotEqualTo(Integer value) {
            addCriterion("PROJECT_MANAGER <>", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerGreaterThan(Integer value) {
            addCriterion("PROJECT_MANAGER >", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerGreaterThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_MANAGER >=", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerLessThan(Integer value) {
            addCriterion("PROJECT_MANAGER <", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerLessThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_MANAGER <=", value, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerIn(List<Integer> values) {
            addCriterion("PROJECT_MANAGER in", values, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerNotIn(List<Integer> values) {
            addCriterion("PROJECT_MANAGER not in", values, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_MANAGER between", value1, value2, "projectManager");
            return (Criteria) this;
        }

        public Criteria andProjectManagerNotBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_MANAGER not between", value1, value2, "projectManager");
            return (Criteria) this;
        }

        public Criteria andSalerIsNull() {
            addCriterion("SALER is null");
            return (Criteria) this;
        }

        public Criteria andSalerIsNotNull() {
            addCriterion("SALER is not null");
            return (Criteria) this;
        }

        public Criteria andSalerEqualTo(Integer value) {
            addCriterion("SALER =", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerNotEqualTo(Integer value) {
            addCriterion("SALER <>", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerGreaterThan(Integer value) {
            addCriterion("SALER >", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerGreaterThanOrEqualTo(Integer value) {
            addCriterion("SALER >=", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerLessThan(Integer value) {
            addCriterion("SALER <", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerLessThanOrEqualTo(Integer value) {
            addCriterion("SALER <=", value, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerIn(List<Integer> values) {
            addCriterion("SALER in", values, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerNotIn(List<Integer> values) {
            addCriterion("SALER not in", values, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerBetween(Integer value1, Integer value2) {
            addCriterion("SALER between", value1, value2, "saler");
            return (Criteria) this;
        }

        public Criteria andSalerNotBetween(Integer value1, Integer value2) {
            addCriterion("SALER not between", value1, value2, "saler");
            return (Criteria) this;
        }

        public Criteria andSaleTypeIsNull() {
            addCriterion("SALE_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andSaleTypeIsNotNull() {
            addCriterion("SALE_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andSaleTypeEqualTo(Integer value) {
            addCriterion("SALE_TYPE =", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeNotEqualTo(Integer value) {
            addCriterion("SALE_TYPE <>", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeGreaterThan(Integer value) {
            addCriterion("SALE_TYPE >", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("SALE_TYPE >=", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeLessThan(Integer value) {
            addCriterion("SALE_TYPE <", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeLessThanOrEqualTo(Integer value) {
            addCriterion("SALE_TYPE <=", value, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeIn(List<Integer> values) {
            addCriterion("SALE_TYPE in", values, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeNotIn(List<Integer> values) {
            addCriterion("SALE_TYPE not in", values, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeBetween(Integer value1, Integer value2) {
            addCriterion("SALE_TYPE between", value1, value2, "saleType");
            return (Criteria) this;
        }

        public Criteria andSaleTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("SALE_TYPE not between", value1, value2, "saleType");
            return (Criteria) this;
        }

        public Criteria andProjectPackageIsNull() {
            addCriterion("PROJECT_PACKAGE is null");
            return (Criteria) this;
        }

        public Criteria andProjectPackageIsNotNull() {
            addCriterion("PROJECT_PACKAGE is not null");
            return (Criteria) this;
        }

        public Criteria andProjectPackageEqualTo(String value) {
            addCriterion("PROJECT_PACKAGE =", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageNotEqualTo(String value) {
            addCriterion("PROJECT_PACKAGE <>", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageGreaterThan(String value) {
            addCriterion("PROJECT_PACKAGE >", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageGreaterThanOrEqualTo(String value) {
            addCriterion("PROJECT_PACKAGE >=", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageLessThan(String value) {
            addCriterion("PROJECT_PACKAGE <", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageLessThanOrEqualTo(String value) {
            addCriterion("PROJECT_PACKAGE <=", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageLike(String value) {
            addCriterion("PROJECT_PACKAGE like", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageNotLike(String value) {
            addCriterion("PROJECT_PACKAGE not like", value, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageIn(List<String> values) {
            addCriterion("PROJECT_PACKAGE in", values, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageNotIn(List<String> values) {
            addCriterion("PROJECT_PACKAGE not in", values, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageBetween(String value1, String value2) {
            addCriterion("PROJECT_PACKAGE between", value1, value2, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andProjectPackageNotBetween(String value1, String value2) {
            addCriterion("PROJECT_PACKAGE not between", value1, value2, "projectPackage");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectIsNull() {
            addCriterion("RELATED_PROJECT is null");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectIsNotNull() {
            addCriterion("RELATED_PROJECT is not null");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectEqualTo(Integer value) {
            addCriterion("RELATED_PROJECT =", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectNotEqualTo(Integer value) {
            addCriterion("RELATED_PROJECT <>", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectGreaterThan(Integer value) {
            addCriterion("RELATED_PROJECT >", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectGreaterThanOrEqualTo(Integer value) {
            addCriterion("RELATED_PROJECT >=", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectLessThan(Integer value) {
            addCriterion("RELATED_PROJECT <", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectLessThanOrEqualTo(Integer value) {
            addCriterion("RELATED_PROJECT <=", value, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectIn(List<Integer> values) {
            addCriterion("RELATED_PROJECT in", values, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectNotIn(List<Integer> values) {
            addCriterion("RELATED_PROJECT not in", values, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectBetween(Integer value1, Integer value2) {
            addCriterion("RELATED_PROJECT between", value1, value2, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andRelatedProjectNotBetween(Integer value1, Integer value2) {
            addCriterion("RELATED_PROJECT not between", value1, value2, "relatedProject");
            return (Criteria) this;
        }

        public Criteria andContractNoIsNull() {
            addCriterion("CONTRACT_NO is null");
            return (Criteria) this;
        }

        public Criteria andContractNoIsNotNull() {
            addCriterion("CONTRACT_NO is not null");
            return (Criteria) this;
        }

        public Criteria andContractNoEqualTo(String value) {
            addCriterion("CONTRACT_NO =", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoNotEqualTo(String value) {
            addCriterion("CONTRACT_NO <>", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoGreaterThan(String value) {
            addCriterion("CONTRACT_NO >", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoGreaterThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NO >=", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoLessThan(String value) {
            addCriterion("CONTRACT_NO <", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoLessThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NO <=", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoLike(String value) {
            addCriterion("CONTRACT_NO like", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoNotLike(String value) {
            addCriterion("CONTRACT_NO not like", value, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoIn(List<String> values) {
            addCriterion("CONTRACT_NO in", values, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoNotIn(List<String> values) {
            addCriterion("CONTRACT_NO not in", values, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoBetween(String value1, String value2) {
            addCriterion("CONTRACT_NO between", value1, value2, "contractNo");
            return (Criteria) this;
        }

        public Criteria andContractNoNotBetween(String value1, String value2) {
            addCriterion("CONTRACT_NO not between", value1, value2, "contractNo");
            return (Criteria) this;
        }

        public Criteria andSingDateIsNull() {
            addCriterion("SING_DATE is null");
            return (Criteria) this;
        }

        public Criteria andSingDateIsNotNull() {
            addCriterion("SING_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andSingDateEqualTo(Date value) {
            addCriterionForJDBCDate("SING_DATE =", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("SING_DATE <>", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateGreaterThan(Date value) {
            addCriterionForJDBCDate("SING_DATE >", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("SING_DATE >=", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateLessThan(Date value) {
            addCriterionForJDBCDate("SING_DATE <", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("SING_DATE <=", value, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateIn(List<Date> values) {
            addCriterionForJDBCDate("SING_DATE in", values, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("SING_DATE not in", values, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("SING_DATE between", value1, value2, "singDate");
            return (Criteria) this;
        }

        public Criteria andSingDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("SING_DATE not between", value1, value2, "singDate");
            return (Criteria) this;
        }

        public Criteria andContractNameIsNull() {
            addCriterion("CONTRACT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andContractNameIsNotNull() {
            addCriterion("CONTRACT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andContractNameEqualTo(String value) {
            addCriterion("CONTRACT_NAME =", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameNotEqualTo(String value) {
            addCriterion("CONTRACT_NAME <>", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameGreaterThan(String value) {
            addCriterion("CONTRACT_NAME >", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameGreaterThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NAME >=", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameLessThan(String value) {
            addCriterion("CONTRACT_NAME <", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameLessThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NAME <=", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameLike(String value) {
            addCriterion("CONTRACT_NAME like", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameNotLike(String value) {
            addCriterion("CONTRACT_NAME not like", value, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameIn(List<String> values) {
            addCriterion("CONTRACT_NAME in", values, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameNotIn(List<String> values) {
            addCriterion("CONTRACT_NAME not in", values, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameBetween(String value1, String value2) {
            addCriterion("CONTRACT_NAME between", value1, value2, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractNameNotBetween(String value1, String value2) {
            addCriterion("CONTRACT_NAME not between", value1, value2, "contractName");
            return (Criteria) this;
        }

        public Criteria andContractTypeIsNull() {
            addCriterion("CONTRACT_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andContractTypeIsNotNull() {
            addCriterion("CONTRACT_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andContractTypeEqualTo(Integer value) {
            addCriterion("CONTRACT_TYPE =", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotEqualTo(Integer value) {
            addCriterion("CONTRACT_TYPE <>", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThan(Integer value) {
            addCriterion("CONTRACT_TYPE >", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("CONTRACT_TYPE >=", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThan(Integer value) {
            addCriterion("CONTRACT_TYPE <", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeLessThanOrEqualTo(Integer value) {
            addCriterion("CONTRACT_TYPE <=", value, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeIn(List<Integer> values) {
            addCriterion("CONTRACT_TYPE in", values, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotIn(List<Integer> values) {
            addCriterion("CONTRACT_TYPE not in", values, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeBetween(Integer value1, Integer value2) {
            addCriterion("CONTRACT_TYPE between", value1, value2, "contractType");
            return (Criteria) this;
        }

        public Criteria andContractTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("CONTRACT_TYPE not between", value1, value2, "contractType");
            return (Criteria) this;
        }

        public Criteria andServiceCycleIsNull() {
            addCriterion("SERVICE_CYCLE is null");
            return (Criteria) this;
        }

        public Criteria andServiceCycleIsNotNull() {
            addCriterion("SERVICE_CYCLE is not null");
            return (Criteria) this;
        }

        public Criteria andServiceCycleEqualTo(Short value) {
            addCriterion("SERVICE_CYCLE =", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleNotEqualTo(Short value) {
            addCriterion("SERVICE_CYCLE <>", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleGreaterThan(Short value) {
            addCriterion("SERVICE_CYCLE >", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleGreaterThanOrEqualTo(Short value) {
            addCriterion("SERVICE_CYCLE >=", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleLessThan(Short value) {
            addCriterion("SERVICE_CYCLE <", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleLessThanOrEqualTo(Short value) {
            addCriterion("SERVICE_CYCLE <=", value, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleIn(List<Short> values) {
            addCriterion("SERVICE_CYCLE in", values, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleNotIn(List<Short> values) {
            addCriterion("SERVICE_CYCLE not in", values, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleBetween(Short value1, Short value2) {
            addCriterion("SERVICE_CYCLE between", value1, value2, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andServiceCycleNotBetween(Short value1, Short value2) {
            addCriterion("SERVICE_CYCLE not between", value1, value2, "serviceCycle");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodIsNull() {
            addCriterion("MAINTENANCE_PERIOD is null");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodIsNotNull() {
            addCriterion("MAINTENANCE_PERIOD is not null");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodEqualTo(Short value) {
            addCriterion("MAINTENANCE_PERIOD =", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodNotEqualTo(Short value) {
            addCriterion("MAINTENANCE_PERIOD <>", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodGreaterThan(Short value) {
            addCriterion("MAINTENANCE_PERIOD >", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodGreaterThanOrEqualTo(Short value) {
            addCriterion("MAINTENANCE_PERIOD >=", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodLessThan(Short value) {
            addCriterion("MAINTENANCE_PERIOD <", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodLessThanOrEqualTo(Short value) {
            addCriterion("MAINTENANCE_PERIOD <=", value, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodIn(List<Short> values) {
            addCriterion("MAINTENANCE_PERIOD in", values, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodNotIn(List<Short> values) {
            addCriterion("MAINTENANCE_PERIOD not in", values, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodBetween(Short value1, Short value2) {
            addCriterion("MAINTENANCE_PERIOD between", value1, value2, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andMaintenancePeriodNotBetween(Short value1, Short value2) {
            addCriterion("MAINTENANCE_PERIOD not between", value1, value2, "maintenancePeriod");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNull() {
            addCriterion("CUSTOMER_NAME is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNotNull() {
            addCriterion("CUSTOMER_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualTo(String value) {
            addCriterion("CUSTOMER_NAME =", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualTo(String value) {
            addCriterion("CUSTOMER_NAME <>", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThan(String value) {
            addCriterion("CUSTOMER_NAME >", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_NAME >=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThan(String value) {
            addCriterion("CUSTOMER_NAME <", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_NAME <=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLike(String value) {
            addCriterion("CUSTOMER_NAME like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotLike(String value) {
            addCriterion("CUSTOMER_NAME not like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIn(List<String> values) {
            addCriterion("CUSTOMER_NAME in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotIn(List<String> values) {
            addCriterion("CUSTOMER_NAME not in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameBetween(String value1, String value2) {
            addCriterion("CUSTOMER_NAME between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotBetween(String value1, String value2) {
            addCriterion("CUSTOMER_NAME not between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressIsNull() {
            addCriterion("CUSTOMER_ADDRESS is null");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressIsNotNull() {
            addCriterion("CUSTOMER_ADDRESS is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressEqualTo(String value) {
            addCriterion("CUSTOMER_ADDRESS =", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressNotEqualTo(String value) {
            addCriterion("CUSTOMER_ADDRESS <>", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressGreaterThan(String value) {
            addCriterion("CUSTOMER_ADDRESS >", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressGreaterThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_ADDRESS >=", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressLessThan(String value) {
            addCriterion("CUSTOMER_ADDRESS <", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressLessThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_ADDRESS <=", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressLike(String value) {
            addCriterion("CUSTOMER_ADDRESS like", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressNotLike(String value) {
            addCriterion("CUSTOMER_ADDRESS not like", value, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressIn(List<String> values) {
            addCriterion("CUSTOMER_ADDRESS in", values, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressNotIn(List<String> values) {
            addCriterion("CUSTOMER_ADDRESS not in", values, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressBetween(String value1, String value2) {
            addCriterion("CUSTOMER_ADDRESS between", value1, value2, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerAddressNotBetween(String value1, String value2) {
            addCriterion("CUSTOMER_ADDRESS not between", value1, value2, "customerAddress");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeIsNull() {
            addCriterion("CUSTOMER_IN_CHARGE is null");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeIsNotNull() {
            addCriterion("CUSTOMER_IN_CHARGE is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeEqualTo(String value) {
            addCriterion("CUSTOMER_IN_CHARGE =", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeNotEqualTo(String value) {
            addCriterion("CUSTOMER_IN_CHARGE <>", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeGreaterThan(String value) {
            addCriterion("CUSTOMER_IN_CHARGE >", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeGreaterThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_IN_CHARGE >=", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeLessThan(String value) {
            addCriterion("CUSTOMER_IN_CHARGE <", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeLessThanOrEqualTo(String value) {
            addCriterion("CUSTOMER_IN_CHARGE <=", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeLike(String value) {
            addCriterion("CUSTOMER_IN_CHARGE like", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeNotLike(String value) {
            addCriterion("CUSTOMER_IN_CHARGE not like", value, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeIn(List<String> values) {
            addCriterion("CUSTOMER_IN_CHARGE in", values, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeNotIn(List<String> values) {
            addCriterion("CUSTOMER_IN_CHARGE not in", values, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeBetween(String value1, String value2) {
            addCriterion("CUSTOMER_IN_CHARGE between", value1, value2, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andCustomerInChargeNotBetween(String value1, String value2) {
            addCriterion("CUSTOMER_IN_CHARGE not between", value1, value2, "customerInCharge");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountIsNull() {
            addCriterion("TOTAL_PRODUCT_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountIsNotNull() {
            addCriterion("TOTAL_PRODUCT_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT =", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT <>", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT >", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT >=", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountLessThan(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT <", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_AMOUNT <=", value, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRODUCT_AMOUNT in", values, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRODUCT_AMOUNT not in", values, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRODUCT_AMOUNT between", value1, value2, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProductAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRODUCT_AMOUNT not between", value1, value2, "totalProductAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountIsNull() {
            addCriterion("TOTAL_SERVICE_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountIsNotNull() {
            addCriterion("TOTAL_SERVICE_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT =", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT <>", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT >", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT >=", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountLessThan(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT <", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_AMOUNT <=", value, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountIn(List<BigDecimal> values) {
            addCriterion("TOTAL_SERVICE_AMOUNT in", values, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_SERVICE_AMOUNT not in", values, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_SERVICE_AMOUNT between", value1, value2, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalServiceAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_SERVICE_AMOUNT not between", value1, value2, "totalServiceAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountIsNull() {
            addCriterion("TOTAL_CONTRACT_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountIsNotNull() {
            addCriterion("TOTAL_CONTRACT_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountEqualTo(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT =", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT <>", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT >", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT >=", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountLessThan(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT <", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_CONTRACT_AMOUNT <=", value, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountIn(List<BigDecimal> values) {
            addCriterion("TOTAL_CONTRACT_AMOUNT in", values, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_CONTRACT_AMOUNT not in", values, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_CONTRACT_AMOUNT between", value1, value2, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalContractAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_CONTRACT_AMOUNT not between", value1, value2, "totalContractAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountIsNull() {
            addCriterion("TOTAL_NON_TAX_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountIsNotNull() {
            addCriterion("TOTAL_NON_TAX_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountEqualTo(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT =", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT <>", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT >", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT >=", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountLessThan(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT <", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_NON_TAX_AMOUNT <=", value, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountIn(List<BigDecimal> values) {
            addCriterion("TOTAL_NON_TAX_AMOUNT in", values, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_NON_TAX_AMOUNT not in", values, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_NON_TAX_AMOUNT between", value1, value2, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andTotalNonTaxAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_NON_TAX_AMOUNT not between", value1, value2, "totalNonTaxAmount");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionIsNull() {
            addCriterion("PAYMENT_PROVISION is null");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionIsNotNull() {
            addCriterion("PAYMENT_PROVISION is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionEqualTo(String value) {
            addCriterion("PAYMENT_PROVISION =", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionNotEqualTo(String value) {
            addCriterion("PAYMENT_PROVISION <>", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionGreaterThan(String value) {
            addCriterion("PAYMENT_PROVISION >", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionGreaterThanOrEqualTo(String value) {
            addCriterion("PAYMENT_PROVISION >=", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionLessThan(String value) {
            addCriterion("PAYMENT_PROVISION <", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionLessThanOrEqualTo(String value) {
            addCriterion("PAYMENT_PROVISION <=", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionLike(String value) {
            addCriterion("PAYMENT_PROVISION like", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionNotLike(String value) {
            addCriterion("PAYMENT_PROVISION not like", value, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionIn(List<String> values) {
            addCriterion("PAYMENT_PROVISION in", values, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionNotIn(List<String> values) {
            addCriterion("PAYMENT_PROVISION not in", values, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionBetween(String value1, String value2) {
            addCriterion("PAYMENT_PROVISION between", value1, value2, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andPaymentProvisionNotBetween(String value1, String value2) {
            addCriterion("PAYMENT_PROVISION not between", value1, value2, "paymentProvision");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateIsNull() {
            addCriterion("EXPECTED_EARLY_DATE is null");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateIsNotNull() {
            addCriterion("EXPECTED_EARLY_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE =", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE <>", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateGreaterThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE >", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE >=", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateLessThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE <", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE <=", value, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE in", values, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE not in", values, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE between", value1, value2, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_EARLY_DATE not between", value1, value2, "expectedEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateIsNull() {
            addCriterion("ACTUAL_EARLY_DATE is null");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateIsNotNull() {
            addCriterion("ACTUAL_EARLY_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE =", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE <>", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateGreaterThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE >", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE >=", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateLessThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE <", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE <=", value, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE in", values, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE not in", values, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE between", value1, value2, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andActualEarlyDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_EARLY_DATE not between", value1, value2, "actualEarlyDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateIsNull() {
            addCriterion("EXPECTED_FINAL_DATE is null");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateIsNotNull() {
            addCriterion("EXPECTED_FINAL_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE =", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE <>", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateGreaterThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE >", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE >=", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateLessThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE <", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE <=", value, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE in", values, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE not in", values, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE between", value1, value2, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andExpectedFinalDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_FINAL_DATE not between", value1, value2, "expectedFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateIsNull() {
            addCriterion("ACTUAL_FINAL_DATE is null");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateIsNotNull() {
            addCriterion("ACTUAL_FINAL_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE =", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE <>", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateGreaterThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE >", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE >=", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateLessThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE <", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE <=", value, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE in", values, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE not in", values, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE between", value1, value2, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andActualFinalDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_FINAL_DATE not between", value1, value2, "actualFinalDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateIsNull() {
            addCriterion("MAINTENANCE_END_DATE is null");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateIsNotNull() {
            addCriterion("MAINTENANCE_END_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateEqualTo(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE =", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE <>", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateGreaterThan(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE >", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE >=", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateLessThan(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE <", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE <=", value, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateIn(List<Date> values) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE in", values, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE not in", values, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE between", value1, value2, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andMaintenanceEndDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("MAINTENANCE_END_DATE not between", value1, value2, "maintenanceEndDate");
            return (Criteria) this;
        }

        public Criteria andProjectStatusIsNull() {
            addCriterion("PROJECT_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andProjectStatusIsNotNull() {
            addCriterion("PROJECT_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andProjectStatusEqualTo(Integer value) {
            addCriterion("PROJECT_STATUS =", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusNotEqualTo(Integer value) {
            addCriterion("PROJECT_STATUS <>", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusGreaterThan(Integer value) {
            addCriterion("PROJECT_STATUS >", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_STATUS >=", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusLessThan(Integer value) {
            addCriterion("PROJECT_STATUS <", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusLessThanOrEqualTo(Integer value) {
            addCriterion("PROJECT_STATUS <=", value, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusIn(List<Integer> values) {
            addCriterion("PROJECT_STATUS in", values, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusNotIn(List<Integer> values) {
            addCriterion("PROJECT_STATUS not in", values, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_STATUS between", value1, value2, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andProjectStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("PROJECT_STATUS not between", value1, value2, "projectStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusIsNull() {
            addCriterion("CONTRACT_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andContractStatusIsNotNull() {
            addCriterion("CONTRACT_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andContractStatusEqualTo(Integer value) {
            addCriterion("CONTRACT_STATUS =", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusNotEqualTo(Integer value) {
            addCriterion("CONTRACT_STATUS <>", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusGreaterThan(Integer value) {
            addCriterion("CONTRACT_STATUS >", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("CONTRACT_STATUS >=", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusLessThan(Integer value) {
            addCriterion("CONTRACT_STATUS <", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusLessThanOrEqualTo(Integer value) {
            addCriterion("CONTRACT_STATUS <=", value, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusIn(List<Integer> values) {
            addCriterion("CONTRACT_STATUS in", values, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusNotIn(List<Integer> values) {
            addCriterion("CONTRACT_STATUS not in", values, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusBetween(Integer value1, Integer value2) {
            addCriterion("CONTRACT_STATUS between", value1, value2, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andContractStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("CONTRACT_STATUS not between", value1, value2, "contractStatus");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("DESCRIPTION is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("DESCRIPTION is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("DESCRIPTION =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("DESCRIPTION <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("DESCRIPTION >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("DESCRIPTION >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("DESCRIPTION <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("DESCRIPTION <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("DESCRIPTION like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("DESCRIPTION not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("DESCRIPTION in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("DESCRIPTION not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("DESCRIPTION between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("DESCRIPTION not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("CREATE_DATE is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("CREATE_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_DATE =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_DATE <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterionForJDBCDate("CREATE_DATE >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_DATE >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterionForJDBCDate("CREATE_DATE <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_DATE <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_DATE in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_DATE not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_DATE between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_DATE not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andIsValidIsNull() {
            addCriterion("IS_VALID is null");
            return (Criteria) this;
        }

        public Criteria andIsValidIsNotNull() {
            addCriterion("IS_VALID is not null");
            return (Criteria) this;
        }

        public Criteria andIsValidEqualTo(Boolean value) {
            addCriterion("IS_VALID =", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidNotEqualTo(Boolean value) {
            addCriterion("IS_VALID <>", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidGreaterThan(Boolean value) {
            addCriterion("IS_VALID >", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IS_VALID >=", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidLessThan(Boolean value) {
            addCriterion("IS_VALID <", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidLessThanOrEqualTo(Boolean value) {
            addCriterion("IS_VALID <=", value, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidIn(List<Boolean> values) {
            addCriterion("IS_VALID in", values, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidNotIn(List<Boolean> values) {
            addCriterion("IS_VALID not in", values, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidBetween(Boolean value1, Boolean value2) {
            addCriterion("IS_VALID between", value1, value2, "isValid");
            return (Criteria) this;
        }

        public Criteria andIsValidNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IS_VALID not between", value1, value2, "isValid");
            return (Criteria) this;
        }

        public Criteria andProductRateIsNull() {
            addCriterion("PRODUCT_RATE is null");
            return (Criteria) this;
        }

        public Criteria andProductRateIsNotNull() {
            addCriterion("PRODUCT_RATE is not null");
            return (Criteria) this;
        }

        public Criteria andProductRateEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_RATE =", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateNotEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_RATE <>", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateGreaterThan(BigDecimal value) {
            addCriterion("PRODUCT_RATE >", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_RATE >=", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateLessThan(BigDecimal value) {
            addCriterion("PRODUCT_RATE <", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_RATE <=", value, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_RATE in", values, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateNotIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_RATE not in", values, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_RATE between", value1, value2, "productRate");
            return (Criteria) this;
        }

        public Criteria andProductRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_RATE not between", value1, value2, "productRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateIsNull() {
            addCriterion("SERVICE_RATE is null");
            return (Criteria) this;
        }

        public Criteria andServiceRateIsNotNull() {
            addCriterion("SERVICE_RATE is not null");
            return (Criteria) this;
        }

        public Criteria andServiceRateEqualTo(BigDecimal value) {
            addCriterion("SERVICE_RATE =", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotEqualTo(BigDecimal value) {
            addCriterion("SERVICE_RATE <>", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateGreaterThan(BigDecimal value) {
            addCriterion("SERVICE_RATE >", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_RATE >=", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateLessThan(BigDecimal value) {
            addCriterion("SERVICE_RATE <", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_RATE <=", value, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateIn(List<BigDecimal> values) {
            addCriterion("SERVICE_RATE in", values, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotIn(List<BigDecimal> values) {
            addCriterion("SERVICE_RATE not in", values, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_RATE between", value1, value2, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andServiceRateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_RATE not between", value1, value2, "serviceRate");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxIsNull() {
            addCriterion("TOTAL_PRODUCT_NON_TAX is null");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxIsNotNull() {
            addCriterion("TOTAL_PRODUCT_NON_TAX is not null");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX =", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX <>", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX >", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX >=", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxLessThan(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX <", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRODUCT_NON_TAX <=", value, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRODUCT_NON_TAX in", values, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRODUCT_NON_TAX not in", values, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRODUCT_NON_TAX between", value1, value2, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProductNonTaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRODUCT_NON_TAX not between", value1, value2, "totalProductNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxIsNull() {
            addCriterion("TOTAL_SERVICE_NON_TAX is null");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxIsNotNull() {
            addCriterion("TOTAL_SERVICE_NON_TAX is not null");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX =", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX <>", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX >", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX >=", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxLessThan(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX <", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_SERVICE_NON_TAX <=", value, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxIn(List<BigDecimal> values) {
            addCriterion("TOTAL_SERVICE_NON_TAX in", values, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_SERVICE_NON_TAX not in", values, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_SERVICE_NON_TAX between", value1, value2, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalServiceNonTaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_SERVICE_NON_TAX not between", value1, value2, "totalServiceNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProAmountIsNull() {
            addCriterion("PRODUCT_PRO_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andProductProAmountIsNotNull() {
            addCriterion("PRODUCT_PRO_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andProductProAmountEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT =", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountNotEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT <>", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountGreaterThan(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT >", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT >=", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountLessThan(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT <", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_AMOUNT <=", value, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_PRO_AMOUNT in", values, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountNotIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_PRO_AMOUNT not in", values, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_PRO_AMOUNT between", value1, value2, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_PRO_AMOUNT not between", value1, value2, "productProAmount");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxIsNull() {
            addCriterion("PRODUCT_PRO_NON_TAX is null");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxIsNotNull() {
            addCriterion("PRODUCT_PRO_NON_TAX is not null");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX =", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxNotEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX <>", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxGreaterThan(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX >", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX >=", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxLessThan(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX <", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PRODUCT_PRO_NON_TAX <=", value, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_PRO_NON_TAX in", values, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxNotIn(List<BigDecimal> values) {
            addCriterion("PRODUCT_PRO_NON_TAX not in", values, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_PRO_NON_TAX between", value1, value2, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andProductProNonTaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PRODUCT_PRO_NON_TAX not between", value1, value2, "productProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountIsNull() {
            addCriterion("SERVICE_PRO_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountIsNotNull() {
            addCriterion("SERVICE_PRO_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT =", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountNotEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT <>", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountGreaterThan(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT >", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT >=", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountLessThan(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT <", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_AMOUNT <=", value, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountIn(List<BigDecimal> values) {
            addCriterion("SERVICE_PRO_AMOUNT in", values, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountNotIn(List<BigDecimal> values) {
            addCriterion("SERVICE_PRO_AMOUNT not in", values, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_PRO_AMOUNT between", value1, value2, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_PRO_AMOUNT not between", value1, value2, "serviceProAmount");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxIsNull() {
            addCriterion("SERVICE_PRO_NON_TAX is null");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxIsNotNull() {
            addCriterion("SERVICE_PRO_NON_TAX is not null");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX =", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxNotEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX <>", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxGreaterThan(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX >", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX >=", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxLessThan(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX <", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SERVICE_PRO_NON_TAX <=", value, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxIn(List<BigDecimal> values) {
            addCriterion("SERVICE_PRO_NON_TAX in", values, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxNotIn(List<BigDecimal> values) {
            addCriterion("SERVICE_PRO_NON_TAX not in", values, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_PRO_NON_TAX between", value1, value2, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andServiceProNonTaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SERVICE_PRO_NON_TAX not between", value1, value2, "serviceProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountIsNull() {
            addCriterion("TOTAL_PRO_AMOUNT is null");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountIsNotNull() {
            addCriterion("TOTAL_PRO_AMOUNT is not null");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT =", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT <>", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT >", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT >=", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountLessThan(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT <", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_AMOUNT <=", value, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRO_AMOUNT in", values, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRO_AMOUNT not in", values, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRO_AMOUNT between", value1, value2, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRO_AMOUNT not between", value1, value2, "totalProAmount");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxIsNull() {
            addCriterion("TOTAL_PRO_NON_TAX is null");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxIsNotNull() {
            addCriterion("TOTAL_PRO_NON_TAX is not null");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX =", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxNotEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX <>", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxGreaterThan(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX >", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX >=", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxLessThan(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX <", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("TOTAL_PRO_NON_TAX <=", value, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRO_NON_TAX in", values, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxNotIn(List<BigDecimal> values) {
            addCriterion("TOTAL_PRO_NON_TAX not in", values, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRO_NON_TAX between", value1, value2, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andTotalProNonTaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("TOTAL_PRO_NON_TAX not between", value1, value2, "totalProNonTax");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryIsNull() {
            addCriterion("IMPLEMENTATION_SALARY is null");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryIsNotNull() {
            addCriterion("IMPLEMENTATION_SALARY is not null");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryEqualTo(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY =", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryNotEqualTo(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY <>", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryGreaterThan(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY >", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY >=", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryLessThan(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY <", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("IMPLEMENTATION_SALARY <=", value, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryIn(List<BigDecimal> values) {
            addCriterion("IMPLEMENTATION_SALARY in", values, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryNotIn(List<BigDecimal> values) {
            addCriterion("IMPLEMENTATION_SALARY not in", values, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("IMPLEMENTATION_SALARY between", value1, value2, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andImplementationSalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("IMPLEMENTATION_SALARY not between", value1, value2, "implementationSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryIsNull() {
            addCriterion("SALES_SALARY is null");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryIsNotNull() {
            addCriterion("SALES_SALARY is not null");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryEqualTo(BigDecimal value) {
            addCriterion("SALES_SALARY =", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryNotEqualTo(BigDecimal value) {
            addCriterion("SALES_SALARY <>", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryGreaterThan(BigDecimal value) {
            addCriterion("SALES_SALARY >", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_SALARY >=", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryLessThan(BigDecimal value) {
            addCriterion("SALES_SALARY <", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_SALARY <=", value, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryIn(List<BigDecimal> values) {
            addCriterion("SALES_SALARY in", values, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryNotIn(List<BigDecimal> values) {
            addCriterion("SALES_SALARY not in", values, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_SALARY between", value1, value2, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andSalesSalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_SALARY not between", value1, value2, "salesSalary");
            return (Criteria) this;
        }

        public Criteria andGrossProfitIsNull() {
            addCriterion("GROSS_PROFIT is null");
            return (Criteria) this;
        }

        public Criteria andGrossProfitIsNotNull() {
            addCriterion("GROSS_PROFIT is not null");
            return (Criteria) this;
        }

        public Criteria andGrossProfitEqualTo(BigDecimal value) {
            addCriterion("GROSS_PROFIT =", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitNotEqualTo(BigDecimal value) {
            addCriterion("GROSS_PROFIT <>", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitGreaterThan(BigDecimal value) {
            addCriterion("GROSS_PROFIT >", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("GROSS_PROFIT >=", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitLessThan(BigDecimal value) {
            addCriterion("GROSS_PROFIT <", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitLessThanOrEqualTo(BigDecimal value) {
            addCriterion("GROSS_PROFIT <=", value, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitIn(List<BigDecimal> values) {
            addCriterion("GROSS_PROFIT in", values, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitNotIn(List<BigDecimal> values) {
            addCriterion("GROSS_PROFIT not in", values, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("GROSS_PROFIT between", value1, value2, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andGrossProfitNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("GROSS_PROFIT not between", value1, value2, "grossProfit");
            return (Criteria) this;
        }

        public Criteria andProfitPercentIsNull() {
            addCriterion("PROFIT_PERCENT is null");
            return (Criteria) this;
        }

        public Criteria andProfitPercentIsNotNull() {
            addCriterion("PROFIT_PERCENT is not null");
            return (Criteria) this;
        }

        public Criteria andProfitPercentEqualTo(BigDecimal value) {
            addCriterion("PROFIT_PERCENT =", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentNotEqualTo(BigDecimal value) {
            addCriterion("PROFIT_PERCENT <>", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentGreaterThan(BigDecimal value) {
            addCriterion("PROFIT_PERCENT >", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PROFIT_PERCENT >=", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentLessThan(BigDecimal value) {
            addCriterion("PROFIT_PERCENT <", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PROFIT_PERCENT <=", value, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentIn(List<BigDecimal> values) {
            addCriterion("PROFIT_PERCENT in", values, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentNotIn(List<BigDecimal> values) {
            addCriterion("PROFIT_PERCENT not in", values, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PROFIT_PERCENT between", value1, value2, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andProfitPercentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PROFIT_PERCENT not between", value1, value2, "profitPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentIsNull() {
            addCriterion("OVERHEAD_PERCENT is null");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentIsNotNull() {
            addCriterion("OVERHEAD_PERCENT is not null");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT =", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentNotEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT <>", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentGreaterThan(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT >", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT >=", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentLessThan(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT <", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD_PERCENT <=", value, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentIn(List<BigDecimal> values) {
            addCriterion("OVERHEAD_PERCENT in", values, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentNotIn(List<BigDecimal> values) {
            addCriterion("OVERHEAD_PERCENT not in", values, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("OVERHEAD_PERCENT between", value1, value2, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadPercentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("OVERHEAD_PERCENT not between", value1, value2, "overheadPercent");
            return (Criteria) this;
        }

        public Criteria andOverheadIsNull() {
            addCriterion("OVERHEAD is null");
            return (Criteria) this;
        }

        public Criteria andOverheadIsNotNull() {
            addCriterion("OVERHEAD is not null");
            return (Criteria) this;
        }

        public Criteria andOverheadEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD =", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadNotEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD <>", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadGreaterThan(BigDecimal value) {
            addCriterion("OVERHEAD >", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD >=", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadLessThan(BigDecimal value) {
            addCriterion("OVERHEAD <", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadLessThanOrEqualTo(BigDecimal value) {
            addCriterion("OVERHEAD <=", value, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadIn(List<BigDecimal> values) {
            addCriterion("OVERHEAD in", values, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadNotIn(List<BigDecimal> values) {
            addCriterion("OVERHEAD not in", values, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("OVERHEAD between", value1, value2, "overhead");
            return (Criteria) this;
        }

        public Criteria andOverheadNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("OVERHEAD not between", value1, value2, "overhead");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionIsNull() {
            addCriterion("SALES_COMMISSION is null");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionIsNotNull() {
            addCriterion("SALES_COMMISSION is not null");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION =", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionNotEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION <>", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionGreaterThan(BigDecimal value) {
            addCriterion("SALES_COMMISSION >", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION >=", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionLessThan(BigDecimal value) {
            addCriterion("SALES_COMMISSION <", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION <=", value, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionIn(List<BigDecimal> values) {
            addCriterion("SALES_COMMISSION in", values, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionNotIn(List<BigDecimal> values) {
            addCriterion("SALES_COMMISSION not in", values, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_COMMISSION between", value1, value2, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_COMMISSION not between", value1, value2, "salesCommission");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentIsNull() {
            addCriterion("SALES_COMMISSION_PERCENT is null");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentIsNotNull() {
            addCriterion("SALES_COMMISSION_PERCENT is not null");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT =", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentNotEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT <>", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentGreaterThan(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT >", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT >=", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentLessThan(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT <", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SALES_COMMISSION_PERCENT <=", value, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentIn(List<BigDecimal> values) {
            addCriterion("SALES_COMMISSION_PERCENT in", values, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentNotIn(List<BigDecimal> values) {
            addCriterion("SALES_COMMISSION_PERCENT not in", values, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_COMMISSION_PERCENT between", value1, value2, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andSalesCommissionPercentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SALES_COMMISSION_PERCENT not between", value1, value2, "salesCommissionPercent");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesIsNull() {
            addCriterion("INTEREST_EXPENSES is null");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesIsNotNull() {
            addCriterion("INTEREST_EXPENSES is not null");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesEqualTo(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES =", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesNotEqualTo(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES <>", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesGreaterThan(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES >", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES >=", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesLessThan(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES <", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesLessThanOrEqualTo(BigDecimal value) {
            addCriterion("INTEREST_EXPENSES <=", value, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesIn(List<BigDecimal> values) {
            addCriterion("INTEREST_EXPENSES in", values, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesNotIn(List<BigDecimal> values) {
            addCriterion("INTEREST_EXPENSES not in", values, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("INTEREST_EXPENSES between", value1, value2, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andInterestExpensesNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("INTEREST_EXPENSES not between", value1, value2, "interestExpenses");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateIsNull() {
            addCriterion("EXPECTED_EARLY_COLL_DATE is null");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateIsNotNull() {
            addCriterion("EXPECTED_EARLY_COLL_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE =", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE <>", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateGreaterThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE >", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE >=", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateLessThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE <", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE <=", value, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE in", values, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE not in", values, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE between", value1, value2, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEarlyCollDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_EARLY_COLL_DATE not between", value1, value2, "expectedEarlyCollDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateIsNull() {
            addCriterion("EXPECTED_END_DATE is null");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateIsNotNull() {
            addCriterion("EXPECTED_END_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE =", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE <>", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateGreaterThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE >", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE >=", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateLessThan(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE <", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("EXPECTED_END_DATE <=", value, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_END_DATE in", values, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("EXPECTED_END_DATE not in", values, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_END_DATE between", value1, value2, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andExpectedEndDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("EXPECTED_END_DATE not between", value1, value2, "expectedEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateIsNull() {
            addCriterion("ACTUAL_END_DATE is null");
            return (Criteria) this;
        }

        public Criteria andActualEndDateIsNotNull() {
            addCriterion("ACTUAL_END_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andActualEndDateEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE =", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE <>", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateGreaterThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE >", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE >=", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateLessThan(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE <", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ACTUAL_END_DATE <=", value, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_END_DATE in", values, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ACTUAL_END_DATE not in", values, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_END_DATE between", value1, value2, "actualEndDate");
            return (Criteria) this;
        }

        public Criteria andActualEndDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ACTUAL_END_DATE not between", value1, value2, "actualEndDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}